package com.ruoyi.common.core.domain.entity;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 请假对象 wsd_leaves
 *
 * @author ruoyi
 * @date 2024-04-16
 */
@Data
public class WsdLeaves extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 请假ID */
    private Long id;

    /** 学生ID */
    @Excel(name = "学生ID")
    private Long studentId;

    /** 学生姓名 */
    @Excel(name = "学生姓名")
    @TableField(exist =false)
    private String studentName;

    /** 年级 */
    @Excel(name = "年级名称")
    @TableField(exist =false)
    private String gradesName;

    /** 班级 */
    @Excel(name = "班级名称")
    @TableField(exist =false)
    private String classesName;

    /** 提交请假的id */
    @Excel(name = "提交请假的id")
    private Long parentId;

    /** 学校ID */
    @Excel(name = "学校ID")
    private Long schoolId;

    /** 请假类型ID */
    @Excel(name = "请假类型ID")
    private Long leaveTypeId;

    /**
     * 请假类型名称
     */
    @TableField(exist =false)
    private String typeName;

    /** 请假原因 */
    @Excel(name = "请假原因")
    private String reason;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:ss:mm")
    private Date startTime;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:ss:mm")
    private Date endTime;

    /** 状态：0=待审批, 1=审批通过, 2=审批拒绝 */
    @Excel(name = "状态：0=待审批, 1=审批通过, 2=审批拒绝")
    private Long status;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedAt;

    /** 逻辑删除标记，0=未删除，1=已删除 */
    @Excel(name = "逻辑删除标记，0=未删除，1=已删除")
    private Integer isDeleted;

    /** 退款状态：0=不同意, 1=同意, 2=待审批 */
    @Excel(name = "退款状态：0=不同意, 1=同意, 2=待审批")
    private Long payoutStatus;

    /** 退款审批原因 */
    @Excel(name = "退款审批原因")
    private String payoutRemarks;

    /** 退款审批原因 */
    @Excel(name = "请假审核备注")
    private String remark;
    @Excel(name = "班级ID")
    private Long classId;
}
